﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAL;
using System.Data.Linq;
using System.Data.SqlClient;
using Website.Logger;
using UtilityExtensions;
using System.Web.Script.Services;
using System.Web.Services;
using BOL;

namespace UILGestion.VentaAdmin.UI
{
    public partial class UIListForm : System.Web.UI.Page
    {

       

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {

                try
                {

                    
                    idProyecto.Value = (string)Request.QueryString["idproyecto"];

                    menuCtrl1.loadMenuVenta(idProyecto.Value.ToInt());
                    FormatForm();


                }
                catch (SqlException sqlex)
                {
                    WebServerSideSqlError.Log(sqlex);
                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


                }
                catch (Exception ex)
                {
                    WebServerSideError.Log(ex);
                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

                }


            }
        }

        private void FormatForm()
        {
           
            ShowAllComboBox();
            //si existe informacion de navegacion
              
                 idEtapaDDL.SelectedValue = (string)Request.QueryString["idEtapa"];
                 tipoViviendaDDL.SelectedValue = (string)Request.QueryString["idtipoUI"];
                 loadLocalizacion();
                 idLocalizacionDDL.SelectedValue = (string)Request.QueryString["idLocalizacion"];

        }
        protected void ShowAllComboBox()        
        {
            
            idLocalizacionDDL.DataValueField = "idInternal";
            idLocalizacionDDL.DataTextField = "descripcion";
            
            tipoViviendaDDL.DataValueField = "idInternal";
            tipoViviendaDDL.DataTextField = "descripcion";

            estadoDDL.DataValueField = "idInternal";
            estadoDDL.DataTextField = "descripcion";

            idTipoModeloDDL.DataValueField = "idInternal";
            idTipoModeloDDL.DataTextField = "descripcion";

            idEtapaDDL.DataValueField = "idInternal";
            idEtapaDDL.DataTextField = "descripcion";

           

            ListValueInfo todosCol = new ListValueInfo();
            todosCol.descripcion = "--------Todos---------";
            todosCol.idInternal = 0;

          
            
           


            var v = new BOL.ListValueBL().GetTipoUI();
            v.Insert(0, todosCol);
            tipoViviendaDDL.DataSource = v;
            tipoViviendaDDL.DataBind();
           
            var estado = new BOL.ListValueBL().GetEstadoUI();
            estado.Insert(0, todosCol);
            estadoDDL.DataSource = estado;
            estadoDDL.DataBind();

            

            var modelo = new BOL.ListValueBL().GetModeloUI(idProyecto.Value.ToInt());
            modelo.Insert(0, todosCol);
            idTipoModeloDDL.DataSource = modelo;
            idTipoModeloDDL.DataBind();

            var e = new BOL.ListValueBL().GetEtapaVentaXProyecto(idProyecto.Value.ToInt()).ToList();
            e.Insert(0, todosCol);
            idEtapaDDL.DataSource = e;
            idEtapaDDL.DataBind();


        }


        protected void button(object sender, EventArgs e)
        {
            try
            {
                if (((Button)sender).ID == BuscarBtn.ID)
                {
                    UIListGrid1.DataBind();
                }
                if (((Button)sender).ID == nuevaVentaButton.ID)
                {
                    Response.Redirect("UIEditForm.aspx?idProyecto={0}&type=A".Fmt(idProyecto.Value), true);
                }
                 if (((Button)sender).ID == idEtapaDDL.ID)
                {
                    loadLocalizacion();
                        
                }

                

            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }
             
        }

        private void loadLocalizacion()
        {
           var l = new BOL.ListValueBL().GetLocalizacionUI(idEtapaDDL.SelectedValue.ToInt());
            
                        ListValueInfo todosCol = new ListValueInfo();
                        todosCol.descripcion = "--------Todos---------";
                        todosCol.idInternal = 0;

                        l.Insert(0, todosCol);
                        idLocalizacionDDL.DataSource= l;
                        idLocalizacionDDL.DataBind();
                        localizacionUPNL.Update();

        }

        protected void DDL(object sender, EventArgs e)
        {
            try
            {
                  if (((DropDownList)sender).ID == idEtapaDDL.ID)
                {
                      loadLocalizacion();
                      
                      
                }
            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }
        }

        

        
       
    }
}